package cn.demoncat.util.web.util;

import cn.demoncat.util.web.entity.TokenLog;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 访问日志输出工具
 * 
 * 为了在项目管理系统中跟踪访问日志，所有访问控制的拦截器统一使用本工具输出日志
 * 
 * @author 延晓磊
 *
 * @since 2019年12月25日
 */
public final class AccessLogUtil {

	private static final Logger LOG = LoggerFactory.getLogger(AccessLogUtil.class);
	
	/**
	 * 输出访问日志 - INFO
	 * 
	 * @param log
	 * 
	 * @author 延晓磊
	 *
	 * @since 2019年12月25日
	 */
	public static void info(TokenLog log) {
		LOG.info(log.toString());
	}
	
	/**
	 * 输出访问日志 - WARN
	 * 
	 * @param log
	 * 
	 * @author 延晓磊
	 *
	 * @since 2019年12月25日
	 */
	public static void warn(TokenLog log) {
		LOG.warn(log.toString());
	}
	
	/**
	 * 输出访问日志 - ERROR
	 * 
	 * @param log
	 * 
	 * @author 延晓磊
	 *
	 * @since 2019年12月25日
	 */
	public static void error(TokenLog log) {
		LOG.error(log.toString());
	}
	
	/**
	 * 输出访问日志 - ERROR
	 * 
	 * @param log
	 * 
	 * @author 延晓磊
	 *
	 * @since 2019年12月25日
	 */
	public static void error(TokenLog log, Throwable e) {
		LOG.error(log.toString(), e);
	}
}
